Motion compensated inter-frame coding has been widely adopted in various coding standards, such as MPEG-1/2/4 and H.261/H.263/H.264/AVC. While motion compensated inter-frame coding can effectively reduce bitrate for compressed video, intra coding is still required to compress the regions with high motions or scene changes. Besides, intra coding is also used to process an initial picture or to periodically insert I-pictures (or Intra-coded picture, I-picture), and the I-pictures are inserted periodically to allow quick access to the compressed video data or to alleviate error propagation. In some cases, intra coding may perform better than inter coding.
Intra prediction exploits the spatial correlation within a picture or within a picture region by using reconstructed pixels in the neighboring region around a current block. The neighboring region usually comprises an area above the boundary line of a current block and an area to the left side of the current block. In H.264, intra prediction modes including DC, Vertical, and Horizontal modes are developed to provide prediction for pixels in a block based on neighboring reconstructed pixels. The High-Efficiency Video Coding (HEVC) standard being developed exploits block-based spatial prediction extensively. A large number of intra prediction modes are used by HEVC to exploit spatial features. Beside the DC, Vertical and Horizontal modes adopted by H. 264, HEVC also includes many other directional prediction modes (also called angular prediction modes in this disclosure).
For Vertical mode, the intra prediction for a current pixel in a block is selected from a reference pixel in a neighboring row adjacent to the top side of the block, where the reference pixel in the same column as the current pixel is selected. For Horizontal mode, the intra prediction for the current pixel in the block is selected from a reference pixel in a neighboring column adjacent to the left side of the current block, where the reference pixel in the same row as the current pixel is selected. HEVC further extends the concept to other angular directions (Thomas Wiegand, et al., “WD4: Working Draft 4 of High-Efficiency Video Coding”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC TC1/SC29/WG11, 6th Meeting: Torino, IT, 14-22 July, 2011, Document: JCTVC-F803). The prediction for a pixel in the block is based on a reference position in a neighboring row adjacent to the top side of the current block or a reference position in a neighboring column adjacent to the left side of the current block along the angular direction. If the reference position is located at an integer position, the respective neighboring reconstructed pixel is used. Otherwise, interpolation based on two adjacent integer pixels is used. While the use of directional intra prediction in HEVC improves the performance of intra prediction over H.264, it is desirable to further improve the performance.